Programmatic Building of Models Just for Pretty Printing
نویسنده
چکیده
In-memory object models of programs are commonly built by tools to facilitate program analysis and manipulation. We claim that for some applications it makes sense to construct such models for the sole purpose of pretty printing, and explain the reasoning behind our claim in this paper. We also describe a tool we have created to support this approach to pretty printing; the tool derives, from an annotated grammar, both an object-oriented API for model building, as well as corresponding routines for pretty-printing built models.
منابع مشابه
Design Pattern Refactoring by Pretty-Printing
Most design patterns in the Gang-of-Four text can be written as a refactoring script – a programmatic sequence of refactorings.R is a new Java refactoring engine based on prettyprinting. It builds a main-memory, non-persistent database to encode containment relationships among Java entity declarations (e.g., packages, classes, methods), language features such as inheritance and modifiers, and p...
متن کاملPretty Printing with Delimited Continuations
Pretty printing is the task of nicely formatting tree structured data within a given line width limit. In 1980 Oppen published a pretty printing algorithm that takes time linear in the size of the input, independent of the line width, and uses only limited look-ahead. This work inspired the development of a number of purely functional pretty printing libraries in Haskell. Here I present a new f...
متن کاملPretty and Useful? – Three-dimensional Computer Models as a Working Tool for Documentation and Investigation in Building Archaeology
The application of three-dimensional computer models for the visualization of ancient architecture has increased rapidly in recent years. Yet when such models are used only to show pretty pictures, their full technical capacity is reduced to that of presentation tools. The use of 3D models offers greater potential if it is integrated into the working process itself. The documentation of artisti...
متن کاملInfinite Pretty-printing in eXene
We describe the design and implementation of a Standard ML of New Jersey library for the interactive pretty-printing of possibly infinite syntax trees. The library handles elision in a novel way, and is implemented using Concurrent ML and the eXene X Window System toolkit. 1 Pretty-printing with Elision In the modern approach to pretty-printing, as developed by Oppen [Opp80] and others [Mik81, ...
متن کاملPretty-Printing for Software Reengineering
Automatic software reengineerings change or repair existing software systems. They are usually tailor-made for a specific customer and language dependent. Maintaining similar reengineerings for multiple customers and different language dialects might therefore soon become problematic unless advanced language technology is being used. Generic pretty-printing is part of such technology and is the...
متن کامل